
#ifndef __ALARM_H_
#define __ALARM_H_

/*
消防报警接口
*/

#include <stdint.h>

typedef enum {
	SigType_Mag,		//门磁报警
//	SigType_Fire,		//火警
//	SigType_Tamper,		//防拆报警
	SigType_HW_MAX,
}SigType_T;


#define SigType_Key		SigType_HW_MAX


#define Signal_Mask(type)			(1u << (type))

#define Alarm_Triggered()		(Alarm_State() > 0)

void Alarm_Init(void);
void Alarm_Active(void);
void Alarm_Deactive(void);
void Alarm_PauseBuzzer(void);
int8_t Alarm_State(void);
void Alarm_Suspend(void);
void Alarm_Config(uint8_t enable);
void Alarm_Disable(uint8_t disable);
void Alarm_Enable(uint8_t enable);

void Alarm_Trig(uint8_t sig);
void Alarm_Cancle(uint8_t sig);
int Alarm_Check(uint8_t sig);

void Alarm_RegisterNotify(void(*notify)(int e, SigType_T sig));
void Alarm_UnregisterNotify(void);


#endif

